자료구조와 알고리즘 정렬과 탐색 (2부) 그 다음 key 값과 비교하면서 더 크다면 가운데값을 위쪽 절반으로, 더 작다면 아래쪽 절반으로 이동하면서 mid = key 가 될 때 까지 탐색하는 방식이다. 즉, log(n)만큼의 복잡도를 가진다고 할 수 있다. 이진탐색의 구현 우편물을 각 호수별로 구분된 칸에 넣는것처럼, 해싱은 각 탐색키와 래코드 키 값을 비교하는것이 아니라, 키 값을 연산을 이용하여 위치를 계산하여 저장하는 것이다.... 자료구조와 알고리즘자료구조와 알고리즘 [자료구조와 알고리즘] 에라토스테네스의 체(소수 찾기) 에라토스테네스 : 소수만 걸러져라 (탈탈탈) '에라토스테네스의 체'는 고대 그리스 수학자 에라토스테네스가 발견한 소수를 찾는 방법이다. 🧠 2부터 시작해서 해당 수가 소수이면 소수 리스트에 추가하고, 그 수의 배수들은 소수가 아니므로 소수 후보에서 제외하는 알고리즘 🧠 2부터 N까지의 수 중에서 소수를 찾는다고 했을 때, N의 제곱근(나누어 떨어지지 않는다면 N의 제곱근 보다 큰 자연수)보다... 자료구조와 알고리즘자료구조와 알고리즘 분할정복과 트로미노 퍼즐 트로미노 퍼즐이란 정사각형이 3개 붙어있는것을 말한다. 가로와 세로로 m 개의 정사각형이 연결되어있고 여기서 m 은 2의 거듭제곱이라 가정한다. ⁃ X 표시가 되어 있는 칸은 트로미노로 덮을 수 없다. ⁃ 트로미노는 겹쳐 놓을 수 없다. ⁃ 트로미노는 바둑판 바깥으로 삐져나올 수 없다. ⁃ 바둑판 전체를 트로미노로 채워야 한다. 말로 하면 좀 이해가 어려울 수 있다. 다음의 를 통해 직접 해... 자료구조와 알고리즘자료구조와 알고리즘 [자료구조와 알고리즘] DFS와 BFS BFS : 늘 내가 더 빨리 찾는 건 아니지만, 최단 거리를 DFS로 하는 건 선 넘었지!! 💡 depth-first search 탐색 시 한 방향으로 갈 수 있을 때까지 계속 가다가(leaf node까지) 더 이상 갈 수 없게 되면 다시 가장 가까운 갈림길로 돌아와 다른 방향으로 다시 탐색을 진행하는 순회 방법 모든 노드를 방묺고자 할 경우 많이 사용 하나의 경우에 대하여 하위 경우의 수를... 자료구조와 알고리즘자료구조와 알고리즘 Queue, Dequeue 디큐, 혹은 덱 (한글로는 주로 덱이라고 쓰는것같다) 이라고 불리는 이 자료구조는 선출후입 구조였던 queue에서 전단 삽입, 후단 삭제 기능을 추가한 자료구조이다. 전단 삭제 front = (front + 1) % MAX_QSIZE 후단 삽입 rear = (rear + 1) % MAX_QSIZE 전단 삽입 front = (front - 1) % MAX_QSIZE 후단 삭제 rear = (r... 자료구조와 알고리즘자료구조와 알고리즘 선형 자료구조 - 해시 key : 고유한 값이며, 해시 함수의 input이 된다. 이 상태로 최종 저장소에 저장이 되면 다양한 길이 만큼의 저장소를 구성해 두어야 하기 때문에 해시 함수로 값을 바꾸어 저장이 되어야 공간의 효율성을 추구할 수 있다. 해시 테이블의 고유한 인덱스 값을 설정하는 함수 1.1 Division Method 테이블의 크기(m)를 소수로 정하고 2의 제곱수와 먼 값을 사용해야 효과가 좋다. 1... 자료구조와 알고리즘CSCS
정렬과 탐색 (2부) 그 다음 key 값과 비교하면서 더 크다면 가운데값을 위쪽 절반으로, 더 작다면 아래쪽 절반으로 이동하면서 mid = key 가 될 때 까지 탐색하는 방식이다. 즉, log(n)만큼의 복잡도를 가진다고 할 수 있다. 이진탐색의 구현 우편물을 각 호수별로 구분된 칸에 넣는것처럼, 해싱은 각 탐색키와 래코드 키 값을 비교하는것이 아니라, 키 값을 연산을 이용하여 위치를 계산하여 저장하는 것이다.... 자료구조와 알고리즘자료구조와 알고리즘 [자료구조와 알고리즘] 에라토스테네스의 체(소수 찾기) 에라토스테네스 : 소수만 걸러져라 (탈탈탈) '에라토스테네스의 체'는 고대 그리스 수학자 에라토스테네스가 발견한 소수를 찾는 방법이다. 🧠 2부터 시작해서 해당 수가 소수이면 소수 리스트에 추가하고, 그 수의 배수들은 소수가 아니므로 소수 후보에서 제외하는 알고리즘 🧠 2부터 N까지의 수 중에서 소수를 찾는다고 했을 때, N의 제곱근(나누어 떨어지지 않는다면 N의 제곱근 보다 큰 자연수)보다... 자료구조와 알고리즘자료구조와 알고리즘 분할정복과 트로미노 퍼즐 트로미노 퍼즐이란 정사각형이 3개 붙어있는것을 말한다. 가로와 세로로 m 개의 정사각형이 연결되어있고 여기서 m 은 2의 거듭제곱이라 가정한다. ⁃ X 표시가 되어 있는 칸은 트로미노로 덮을 수 없다. ⁃ 트로미노는 겹쳐 놓을 수 없다. ⁃ 트로미노는 바둑판 바깥으로 삐져나올 수 없다. ⁃ 바둑판 전체를 트로미노로 채워야 한다. 말로 하면 좀 이해가 어려울 수 있다. 다음의 를 통해 직접 해... 자료구조와 알고리즘자료구조와 알고리즘 [자료구조와 알고리즘] DFS와 BFS BFS : 늘 내가 더 빨리 찾는 건 아니지만, 최단 거리를 DFS로 하는 건 선 넘었지!! 💡 depth-first search 탐색 시 한 방향으로 갈 수 있을 때까지 계속 가다가(leaf node까지) 더 이상 갈 수 없게 되면 다시 가장 가까운 갈림길로 돌아와 다른 방향으로 다시 탐색을 진행하는 순회 방법 모든 노드를 방묺고자 할 경우 많이 사용 하나의 경우에 대하여 하위 경우의 수를... 자료구조와 알고리즘자료구조와 알고리즘 Queue, Dequeue 디큐, 혹은 덱 (한글로는 주로 덱이라고 쓰는것같다) 이라고 불리는 이 자료구조는 선출후입 구조였던 queue에서 전단 삽입, 후단 삭제 기능을 추가한 자료구조이다. 전단 삭제 front = (front + 1) % MAX_QSIZE 후단 삽입 rear = (rear + 1) % MAX_QSIZE 전단 삽입 front = (front - 1) % MAX_QSIZE 후단 삭제 rear = (r... 자료구조와 알고리즘자료구조와 알고리즘 선형 자료구조 - 해시 key : 고유한 값이며, 해시 함수의 input이 된다. 이 상태로 최종 저장소에 저장이 되면 다양한 길이 만큼의 저장소를 구성해 두어야 하기 때문에 해시 함수로 값을 바꾸어 저장이 되어야 공간의 효율성을 추구할 수 있다. 해시 테이블의 고유한 인덱스 값을 설정하는 함수 1.1 Division Method 테이블의 크기(m)를 소수로 정하고 2의 제곱수와 먼 값을 사용해야 효과가 좋다. 1... 자료구조와 알고리즘CSCS